Estamos ultrapassando as limitações dos modelos lineares, que têm dificuldade em classificar dados que não são separáveis por uma linha reta. Hoje, aplicamos o fluxo de trabalho do PyTorch para construir um Rede Neural Profunda (RNP) capaz de aprender fronteiras de decisão complexas e não linearesessenciais para tarefas reais de classificação.
1. Visualizando a Necessidade de Dados Não Lineares
Nosso primeiro passo é criar um conjunto de dados sintético desafiador, como a distribuição de dois meios-círculos, para demonstrar visualmente por que modelos lineares simples falham. Essa configuração nos obriga a usar arquiteturas profundas para aproximar a curva intricada necessária que separa as classes.
Propriedades dos Dados
- Estrutura dos Dados:Características de dados sintéticos (por exemplo, $1000 \times 2$ para $1000$ amostras com 2 características).
- Tipo de Saída:Um único valor de probabilidade, geralmente
torch.float32, representando a pertença à classe. - Objetivo: Criar uma fronteira de decisão curva por meio de cálculos em camadas.
O Poder das Ativações Não Lineares
O princípio fundamental das RNPs é a introdução de não linearidade nas camadas ocultas por meio de funções como ReLU. Sem essas, empilhar camadas simplesmente resultaria em um grande modelo linear, independentemente da profundidade.
TERMINALbash — ambiente-classificacao
> Pronto. Clique em "Executar" para iniciar.
>
INSPECTOR DE TENSORES Ao Vivo
Execute o código para inspecionar tensores ativos
Questão 1
Qual é o propósito principal da função de ativação ReLU em uma camada oculta?
Questão 2
Qual função de ativação é necessária na saídacamada para uma tarefa de classificação binária?
Questão 3
Qual função de perda corresponde diretamente a um problema de classificação binária usando uma saída sigmóide?
Desafio: Projetando a Arquitetura Central
Integrando componentes arquiteturais para aprendizado não linear.
Você deve construir um
nn.Module para a tarefa de dois meios-círculos. Características de entrada: 2. Classes de saída: 1 (probabilidade).
Passo 1
Descreva o fluxo de computação para uma única camada oculta nesta RNP.
Solução:
Entrada $\to$ Camada Linear (Matriz de Pesos) $\to$ Ativação ReLU $\to$ Saída para a Próxima Camada.
Entrada $\to$ Camada Linear (Matriz de Pesos) $\to$ Ativação ReLU $\to$ Saída para a Próxima Camada.
Passo 2
Qual deve ser o tamanho da camada final se a forma de entrada for $(N, 2)$ e usarmos a perda BCE?
Solução:
A camada de saída deve ter tamanho $(N, 1)$ para produzir uma única pontuação de probabilidade por amostra, correspondendo à forma do rótulo.
A camada de saída deve ter tamanho $(N, 1)$ para produzir uma única pontuação de probabilidade por amostra, correspondendo à forma do rótulo.